home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / linux / qnx4_fs.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  2KB  |  89 lines

  1. /*
  2.  *  Name                         : qnx4_fs.h
  3.  *  Author                       : Richard Frowijn
  4.  *  Function                     : qnx4 global filesystem definitions
  5.  *  History                      : 23-03-1998 created
  6.  */
  7. #ifndef _LINUX_QNX4_FS_H
  8. #define _LINUX_QNX4_FS_H
  9.  
  10. #include <linux/types.h>
  11. #include <linux/qnxtypes.h>
  12. #include <linux/magic.h>
  13.  
  14. #define QNX4_ROOT_INO 1
  15.  
  16. #define QNX4_MAX_XTNTS_PER_XBLK    60
  17. /* for di_status */
  18. #define QNX4_FILE_USED          0x01
  19. #define QNX4_FILE_MODIFIED      0x02
  20. #define QNX4_FILE_BUSY          0x04
  21. #define QNX4_FILE_LINK          0x08
  22. #define QNX4_FILE_INODE         0x10
  23. #define QNX4_FILE_FSYSCLEAN     0x20
  24.  
  25. #define QNX4_I_MAP_SLOTS    8
  26. #define QNX4_Z_MAP_SLOTS    64
  27. #define QNX4_VALID_FS        0x0001    /* Clean fs. */
  28. #define QNX4_ERROR_FS        0x0002    /* fs has errors. */
  29. #define QNX4_BLOCK_SIZE         0x200    /* blocksize of 512 bytes */
  30. #define QNX4_BLOCK_SIZE_BITS    9    /* blocksize shift */
  31. #define QNX4_DIR_ENTRY_SIZE     0x040    /* dir entry size of 64 bytes */
  32. #define QNX4_DIR_ENTRY_SIZE_BITS 6    /* dir entry size shift */
  33. #define QNX4_XBLK_ENTRY_SIZE    0x200    /* xblk entry size */
  34. #define QNX4_INODES_PER_BLOCK   0x08    /* 512 / 64 */
  35.  
  36. /* for filenames */
  37. #define QNX4_SHORT_NAME_MAX    16
  38. #define QNX4_NAME_MAX        48
  39.  
  40. /*
  41.  * This is the original qnx4 inode layout on disk.
  42.  */
  43. struct qnx4_inode_entry {
  44.     char        di_fname[QNX4_SHORT_NAME_MAX];
  45.     qnx4_off_t    di_size;
  46.     qnx4_xtnt_t    di_first_xtnt;
  47.     __le32        di_xblk;
  48.     __le32        di_ftime;
  49.     __le32        di_mtime;
  50.     __le32        di_atime;
  51.     __le32        di_ctime;
  52.     qnx4_nxtnt_t    di_num_xtnts;
  53.     qnx4_mode_t    di_mode;
  54.     qnx4_muid_t    di_uid;
  55.     qnx4_mgid_t    di_gid;
  56.     qnx4_nlink_t    di_nlink;
  57.     __u8        di_zero[4];
  58.     qnx4_ftype_t    di_type;
  59.     __u8        di_status;
  60. };
  61.  
  62. struct qnx4_link_info {
  63.     char        dl_fname[QNX4_NAME_MAX];
  64.     __le32        dl_inode_blk;
  65.     __u8        dl_inode_ndx;
  66.     __u8        dl_spare[10];
  67.     __u8        dl_status;
  68. };
  69.  
  70. struct qnx4_xblk {
  71.     __le32        xblk_next_xblk;
  72.     __le32        xblk_prev_xblk;
  73.     __u8        xblk_num_xtnts;
  74.     __u8        xblk_spare[3];
  75.     __le32        xblk_num_blocks;
  76.     qnx4_xtnt_t    xblk_xtnts[QNX4_MAX_XTNTS_PER_XBLK];
  77.     char        xblk_signature[8];
  78.     qnx4_xtnt_t    xblk_first_xtnt;
  79. };
  80.  
  81. struct qnx4_super_block {
  82.     struct qnx4_inode_entry RootDir;
  83.     struct qnx4_inode_entry Inode;
  84.     struct qnx4_inode_entry Boot;
  85.     struct qnx4_inode_entry AltBoot;
  86. };
  87.  
  88. #endif
  89.